// apache tomcat  进程（操作系统分配资源和调度任务的基本单位） -> 线程  线程池 多线程模式 复用连接

// 单线程 非阻塞IO
// 节约内存 -- 节约上下文切换时间 -- 时间切片 --多核cpu呢 -- 锁的问题 并发资源处理

// Chrome V8   ~== C执行效率
// UI JS公用一个线程
// webworker 完全受主线程控制 不能操作dom
// 主线程 和 异步任务队列  微任务和宏任务直接执行和队列执行的区分  ##队列## 异步回调 同步回调
function read() {
  console.log(1);
  setTimeout(function () {
    console.log(2);
  });
  Promise.resolve(() => {
    console.log(88);
  }).then(() => {
    console.log(99);
  });
  new Promise((res) => {
    console.log("resolve");
    res();
    setTimeout(() => {
      console.log("new setout");
    });
  }).then(() => {
    console.log("new promise then");
  });
  console.log(3);
}
read();

function next(){
    setTimeout(function(){
        console.log('n2');
    })
    process.nextTick(function(){
        console.log('n3');
        process.nextTick(()=>{
            console.log('n5');
            
        })
    })    
    console.log('n1');
}
next()
//node线程池加同步io模拟异步io
// 同步异步 被调用者通知方式
// 阻塞非阻塞 调用者等待消息通知处理

// node c++ python
//repl : read eval print loop  交互式解释器